package br.ufrj.dcc.mapaviolencia.model;

import java.util.ArrayList;
import java.util.List;

import br.ufrj.dcc.mapaviolencia.util.LocalizacaoUtil;

import com.mongodb.BasicDBObject;

public class Cidade {
	public static final String NOME_CIDADE = "cidade";
	private String nome;
	private List<Bairro> bairros = null;
	private Estado estado;
	
	public Cidade(String nome, Estado estado) {
		this.nome = nome;
		this.setEstado(estado);
	}
	
	public String getNome() {
		return nome;
	}
	public void setNome(String nome) {
		this.nome = nome;
	}
	public List<Bairro> getBairros() {
		if(bairros == null){
			bairros = new ArrayList<Bairro>();
			BasicDBObject query = new BasicDBObject(NOME_CIDADE, nome);
			List<String> bairrosDB = LocalizacaoUtil.collection.distinct(Bairro.NOME_BAIRRO, query);
			for(String b : bairrosDB){
				bairros.add(new Bairro(b,this));
			}
		}
		return bairros;
	}
	public void setBairros(List<Bairro> bairros) {
		this.bairros = bairros;
	}

	public Estado getEstado() {
		return estado;
	}

	public void setEstado(Estado estado) {
		this.estado = estado;
	}

}
